{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sksurv.linear_model import CoxPHSurvivalAnalysis\n",
    "from sksurv.datasets import get_x_y "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# note:训练集随机划分为训练集和验证集（测试集无法用指标验证，后续对比在各指标上的表现）\n",
    "trainDataPath = '../data/trainSet.xlsx'\n",
    "trainData = pd.read_excel(trainDataPath)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "trainData['state'] = trainData['state'].astype(int).astype(bool)\n",
    "trainData['lifetime'] = trainData['lifetime'].astype(int) #.astype(float)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>novelty</th>\n",
       "      <th>number_of_patents_cited</th>\n",
       "      <th>science_linkage</th>\n",
       "      <th>number_of_IPC4</th>\n",
       "      <th>number_of_IPC8</th>\n",
       "      <th>number_of_claims</th>\n",
       "      <th>number_of_independent_claims</th>\n",
       "      <th>number_of_dependent_claims</th>\n",
       "      <th>number_of_priorities</th>\n",
       "      <th>review_duration</th>\n",
       "      <th>...</th>\n",
       "      <th>number_of_patent_families_inpadoc</th>\n",
       "      <th>number_of_countries_applying</th>\n",
       "      <th>number_of_inventors</th>\n",
       "      <th>number_of_patentees</th>\n",
       "      <th>number_of_inventor_patents</th>\n",
       "      <th>number_of_first_inventor_patents</th>\n",
       "      <th>number_of_patentee_patents</th>\n",
       "      <th>patentee_category</th>\n",
       "      <th>state</th>\n",
       "      <th>lifetime</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4.050685</td>\n",
       "      <td>-0.138848</td>\n",
       "      <td>-0.166053</td>\n",
       "      <td>-0.840604</td>\n",
       "      <td>-0.589710</td>\n",
       "      <td>0.050517</td>\n",
       "      <td>0.015246</td>\n",
       "      <td>0.050717</td>\n",
       "      <td>-0.31303</td>\n",
       "      <td>4.287328</td>\n",
       "      <td>...</td>\n",
       "      <td>0.016395</td>\n",
       "      <td>-0.129599</td>\n",
       "      <td>-0.574227</td>\n",
       "      <td>-0.950091</td>\n",
       "      <td>-0.452219</td>\n",
       "      <td>-0.396837</td>\n",
       "      <td>-0.590359</td>\n",
       "      <td>0.008336</td>\n",
       "      <td>True</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.050685</td>\n",
       "      <td>-0.010712</td>\n",
       "      <td>-0.166053</td>\n",
       "      <td>1.899835</td>\n",
       "      <td>1.231297</td>\n",
       "      <td>0.818608</td>\n",
       "      <td>-0.568581</td>\n",
       "      <td>0.985000</td>\n",
       "      <td>-0.31303</td>\n",
       "      <td>6.255681</td>\n",
       "      <td>...</td>\n",
       "      <td>0.058985</td>\n",
       "      <td>0.282930</td>\n",
       "      <td>0.988762</td>\n",
       "      <td>-0.950091</td>\n",
       "      <td>-0.388978</td>\n",
       "      <td>-0.396837</td>\n",
       "      <td>-0.590359</td>\n",
       "      <td>0.008336</td>\n",
       "      <td>True</td>\n",
       "      <td>219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-0.383335</td>\n",
       "      <td>-0.222137</td>\n",
       "      <td>-0.144048</td>\n",
       "      <td>-0.840604</td>\n",
       "      <td>-1.044961</td>\n",
       "      <td>-0.168937</td>\n",
       "      <td>-1.152409</td>\n",
       "      <td>0.050717</td>\n",
       "      <td>-0.31303</td>\n",
       "      <td>3.382949</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.068785</td>\n",
       "      <td>-0.281584</td>\n",
       "      <td>-1.095223</td>\n",
       "      <td>-0.950091</td>\n",
       "      <td>-0.473299</td>\n",
       "      <td>-0.396837</td>\n",
       "      <td>-0.589792</td>\n",
       "      <td>-3.538409</td>\n",
       "      <td>True</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    novelty  number_of_patents_cited  science_linkage  number_of_IPC4  \\\n",
       "0  4.050685                -0.138848        -0.166053       -0.840604   \n",
       "1  4.050685                -0.010712        -0.166053        1.899835   \n",
       "2 -0.383335                -0.222137        -0.144048       -0.840604   \n",
       "\n",
       "   number_of_IPC8  number_of_claims  number_of_independent_claims  \\\n",
       "0       -0.589710          0.050517                      0.015246   \n",
       "1        1.231297          0.818608                     -0.568581   \n",
       "2       -1.044961         -0.168937                     -1.152409   \n",
       "\n",
       "   number_of_dependent_claims  number_of_priorities  review_duration  ...  \\\n",
       "0                    0.050717              -0.31303         4.287328  ...   \n",
       "1                    0.985000              -0.31303         6.255681  ...   \n",
       "2                    0.050717              -0.31303         3.382949  ...   \n",
       "\n",
       "   number_of_patent_families_inpadoc  number_of_countries_applying  \\\n",
       "0                           0.016395                     -0.129599   \n",
       "1                           0.058985                      0.282930   \n",
       "2                          -0.068785                     -0.281584   \n",
       "\n",
       "   number_of_inventors  number_of_patentees  number_of_inventor_patents  \\\n",
       "0            -0.574227            -0.950091                   -0.452219   \n",
       "1             0.988762            -0.950091                   -0.388978   \n",
       "2            -1.095223            -0.950091                   -0.473299   \n",
       "\n",
       "   number_of_first_inventor_patents  number_of_patentee_patents  \\\n",
       "0                         -0.396837                   -0.590359   \n",
       "1                         -0.396837                   -0.590359   \n",
       "2                         -0.396837                   -0.589792   \n",
       "\n",
       "   patentee_category  state  lifetime  \n",
       "0           0.008336   True       146  \n",
       "1           0.008336   True       219  \n",
       "2          -3.538409   True       146  \n",
       "\n",
       "[3 rows x 21 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trainData[:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "feature, label = get_x_y(data_frame = trainData, \n",
    "               attr_labels = ['state', 'lifetime'],\n",
    "               pos_label = True,  #event发生对应的值（专利失效-True）\n",
    "               survival=True)\n",
    "# note：自己定义相同数据类型，无法用于训练模型。只能使用get_x_y()来构造数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "xTrain, xValid, yTrain, yValid = train_test_split(feature, label, test_size=0.2, random_state=0)\n",
    "# note:这里Valid在功能上算是测试集。此处名称不再做修改，可全部替换成Test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Anaconda3\\envs\\py38\\lib\\site-packages\\sksurv\\linear_model\\coxph.py:445: LinAlgWarning: Ill-conditioned matrix (rcond=4.29678e-17): result may not be accurate.\n",
      "  delta = solve(optimizer.hessian, optimizer.gradient,\n",
      "c:\\Anaconda3\\envs\\py38\\lib\\site-packages\\sksurv\\linear_model\\coxph.py:445: LinAlgWarning: Ill-conditioned matrix (rcond=7.26331e-17): result may not be accurate.\n",
      "  delta = solve(optimizer.hessian, optimizer.gradient,\n",
      "c:\\Anaconda3\\envs\\py38\\lib\\site-packages\\sksurv\\linear_model\\coxph.py:445: LinAlgWarning: Ill-conditioned matrix (rcond=2.47953e-17): result may not be accurate.\n",
      "  delta = solve(optimizer.hessian, optimizer.gradient,\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>CoxPHSurvivalAnalysis()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">CoxPHSurvivalAnalysis</label><div class=\"sk-toggleable__content\"><pre>CoxPHSurvivalAnalysis()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "CoxPHSurvivalAnalysis()"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 训练模型-极端梯度提升生存树\n",
    "surv_func = CoxPHSurvivalAnalysis()\n",
    "surv_func.fit(xTrain, yTrain)\n",
    "# 训练时间：2s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train score: 0.6834641895203526\n",
      "valid score: 0.6789205905989567\n"
     ]
    }
   ],
   "source": [
    "# 模型评估-----------------------------------------------------------\n",
    "# 一致性指数（可以用model.score 也可以用concordance_index_censored）\n",
    "scoreTrain = surv_func.score(xTrain, yTrain)\n",
    "scoreValid = surv_func.score(xValid, yValid)\n",
    "print('train score:',scoreTrain)\n",
    "print('valid score:',scoreValid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train concordance index: 0.6834641895203526\n",
      "valid concordance index: 0.6789205905989567\n",
      "concordance index complete information: (0.6789205905989567, 2070608, 979245, 0, 10097)\n"
     ]
    }
   ],
   "source": [
    "from sksurv.metrics import concordance_index_censored\n",
    "# train\n",
    "trainPre = surv_func.predict(xTrain)\n",
    "concordanceIndexTrain = concordance_index_censored(yTrain['state'],\n",
    "        yTrain['lifetime'], trainPre)\n",
    "print('train concordance index:' ,concordanceIndexTrain[0])\n",
    "# valid\n",
    "validPre = surv_func.predict(xValid)\n",
    "concordanceIndexValid = concordance_index_censored(yValid['state'],\n",
    "        yValid['lifetime'], validPre)\n",
    "print('valid concordance index:' ,concordanceIndexValid[0])\n",
    "\n",
    "print('concordance index complete information:', concordanceIndexValid )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "range of time: lower: 28.0  ;upper: 235.0\n",
      "train integrated brier score: 0.17567299152174004\n",
      "train integrated brier score: 0.17756744816137396\n"
     ]
    }
   ],
   "source": [
    "# 综合Brier评分:与时间相关的Brier分数是时间点的均方误差, 综合Brier评分为总体性能\n",
    "from sksurv.metrics import integrated_brier_score\n",
    "lower, upper = np.percentile(label['lifetime'], [10, 95])  #计算分位数\n",
    "print('range of time: lower:',lower,' ;upper:', upper)\n",
    "timesIBS = np.arange(lower, upper + 1)\n",
    "# train\n",
    "predsTrain = np.row_stack([fn(timesIBS) for fn in surv_func.predict_survival_function(xTrain)])\n",
    "trainIBS = integrated_brier_score(label, yTrain, predsTrain, timesIBS)\n",
    "print('train integrated brier score:', trainIBS)\n",
    "# valid \n",
    "predsValid = np.row_stack([fn(timesIBS) for fn in surv_func.predict_survival_function(xValid)])\n",
    "validIBS = integrated_brier_score(label, yValid, predsValid, timesIBS)\n",
    "print('train integrated brier score:', validIBS)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 时序Brier评分（通过brier_score的累计绘制时序Brier图）\n",
    "from sksurv.metrics import brier_score\n",
    "# train\n",
    "sequentialBrierScoreTrain = []\n",
    "survsTrain = surv_func.predict_survival_function(xTrain)\n",
    "for time in timesIBS:\n",
    "    timepreds = [fn(time) for fn in survsTrain]\n",
    "    timeBS = brier_score(label, yTrain, timepreds, time)\n",
    "    sequentialBrierScoreTrain.append(timeBS[1])\n",
    "# print(sequentialBrierScoreTrain) \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'BS值')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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rV/+8pfau3evrrjiCmt/RUWF/uM//kMf//jH+y3r448/rttuu007duzQqlWr9JOf/KRbE5Xf79eFF16o+vr6bsf96le/0gsvvCApVmslSYZh6OTJk1Y5Dh06lNhfGICkIewASIqrr75akUjEam76+c9/rieffFLPPPNMr6+PRCJyOp164IEHJEnLly+XJJWXl+vb3/62JKmmpqbXY1taWvTQQw/pkksuUTAYlMfj6fGaaDSqYDDYLcRI0rFjx/TNb35TM2bM0DXXXKNrrrnGKsOZM2d0zz336NVXX9UPf/jDHudcuHBht5qd+Pt4f58dAOlF2AGQFIZhWLUwkUhEDz/8sG655ZZu/WniPB5Pt34thw4d0iOPPCIp1ozlcDj0rW99q8/f9YlPfEKStGbNGt17771WM1ggENANN9wgh8OhUCik6upq7dq1yzpu7969mj9/vq688koFg0FFo9FufYFuu+02TZo0Sbt375ZhGFYgi+utZicYDA7q7wlA8jH0HEDS+f1+vfHGG1q9erVGjRplPQoKCpSdna2XXnrJem04HNYXv/hFLVu2TJL0m9/8RuvWrdPOnTsVjUbV39rF3/72txWJRNTR0aGOjg6NGTNGzz77rDo6OhSJRLr9HknKzs7Wd7/7Xavm6Mc//rG8Xq9GjBih0tJSPffcc3rwwQdVVlamvLw8XXPNNZJiwcY0TS1cuFC1tbWqra1Vdna2wuGwfD6fGhsbddVVV+mqq67qszYKQOoQdgAkXXFxsU6dOiW/36/33ntP7733nnbt2qXs7GytXbtWH/vYxyTFRkQtXbpUwWDQCiDl5eX685//rGuuuUbt7e391py8f4TW+71/VNTll1+uJUuWWNvf/OY3FQgEdObMGZ0+fVqf+cxn9NOf/lSnT59WS0uLXn75ZUnSDTfcoEceeUQ7duywQs348eM1Z84c/e///q9mzJihffv2ad++ffrIRz5yTn9nAIYOzVgAUuK3v/2tmpqatGjRIhmGoXnz5umf//mf9fWvf916zWuvvaYXXnhBzz//fLcRWRMmTJAUm5Bw7969KS/7+/35z3/Wb37zGx09elTf+ta39Pvf/15NTU26/fbbdfPNN6uqqirdRQRwFsIOgJQYMWKEHnnkEX37299WWVmZqqqq9LWvfa3ba6ZMmaLa2lp5PJ5em6u8Xq/y8/N14MABHT161KrJiQ9zz8rK6nW01tlCoZBM0+zWifn9syMHAgHV1dXpyJEjPTo0S9LRo0d111136de//rUkqaqqSlOnTlVHR4eefvpp3XfffYn/xQBIOpqxAKTEnDlztG3bNtXV1elLX/qSdu3apcmTJ/dY9yoeQkKhkKSeHX6bm5t17bXXqqKiQtddd50kaf/+/SorK1NpaWm3R0dHhxYsWNBt34gRI7R69epu5wwGg93K4XQ69Xd/93cqKCiwfsfZvvrVr2rVqlVW89vYsWP1+OOP6+GHH9aNN96o6upqSdK//du/6bXXXtOIESM+yF8dgA/IMPvr7QcASRIMBrVnzx7NmDEj3UUZtHA4LJerZ8X4H/7wB02fPl2jRo2SpG7NWwDSh7ADAABsjWYsAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga/8/+qR7dOhNuWEAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(timesIBS,sequentialBrierScoreTrain)\n",
    "plt.xlabel('专利生存期')\n",
    "plt.ylabel('BS值')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# valid\n",
    "sequentialBrierScoreValid = []\n",
    "survsValid = surv_func.predict_survival_function(xValid)\n",
    "for time in timesIBS:\n",
    "    timepreds = [fn(time) for fn in survsValid]\n",
    "    timeBS = brier_score(label, yValid, timepreds, time)\n",
    "    sequentialBrierScoreValid.append(timeBS[1])\n",
    "# print(sequentialBrierScoreTrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'BS值')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(timesIBS,sequentialBrierScoreValid)\n",
    "plt.xlabel('专利生存期')\n",
    "plt.ylabel('BS值')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 样本预测-----------------------------------------------------------------\n",
    "# 样本风险评分预测\n",
    "samplePatents = xValid[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([(False, 29.), (False, 28.), (False, 88.), (False, 90.),\n",
       "       (False, 90.)], dtype=[('state', '?'), ('lifetime', '<f8')])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "yValid[:5]\n",
    "# 测试集样本实例的实际情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0   -0.084398\n",
       "1   -0.228067\n",
       "2    0.554982\n",
       "3   -0.199118\n",
       "4   -0.203115\n",
       "dtype: float64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sampleRiskScore = pd.Series(surv_func.predict(samplePatents))\n",
    "sampleRiskScore"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 生存函数\n",
    "sampleSurv = surv_func.predict_survival_function(samplePatents, return_array=True)\n",
    "\n",
    "for i, s in enumerate(sampleSurv):\n",
    "    plt.step(surv_func.event_times_, s, where=\"post\", label=str(i))\n",
    "plt.ylabel(\"Survival probability\")\n",
    "plt.xlabel(\"Time in months\")\n",
    "plt.legend()\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAGuCAYAAACUSdxPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIMklEQVR4nO3de3QU9f0//ucku5tsArkRAoGES4yVmyClEQoqoJCgAqaIiOAHiEUR+EEFoTYWbLEeoDZw0k8/bRBNDVqQL35ai5fDJUJApKBAJR9pAioQxIA1iUs2IctmNvv+/ZHukk12k93sZWY3z8c5OWZm5/LaeWfZp+95z4wkhBAgIiIiCmFhShdARERE5G8MPERERBTyGHiIiIgo5DHwEBERUchj4CEiIqKQx8BDREREIY+Bh4iIiEIeAw8RERGFPAYeIiIiCnkapQsIBKvViitXrqB79+6QJEnpcoiIiMgNQgjU1dWhT58+CAvzso9GKCwrK0u8/vrrHS536NAhMWjQINGjRw+xadMmj/Zx+fJlAYA//OEPf/jDH/4E4c/ly5c7mTJuUrSHZ/v27di3bx9mz57d7nJVVVWYPn06nn32WTz22GOYPXs2Ro4ciYkTJ7q1n+7duwMALl++jJiYGK/r7qpkWcb+/fuRmZkJrVardDnUAttGvdg26sW2US9b2/z4xz/GwIED7d/j3lAs8Hz//fd49tlncdttt3W47Pbt25GcnIy1a9dCkiS88MILKCwsdDvw2E5jxcTEMPB4QZZlREVFISYmhv84qAzbRr3YNurFtlEvW9vYgo4vhqMoFnieffZZ/OQnP4HJZOpw2dLSUtx77732N3znnXciNzfX5fJmsxlms9k+bTQaATQfQFmWvay867IdOx5D9WHbqBfbRr3YNurlj7ZRJPCUlJTgwIEDOHPmDJYvX97h8kajEUOGDLFPx8TEoLKy0uXyGzZswLp169rM379/P6KiojpXNNkVFxcrXQK5wLZRL7aNerFt1KukpMRn2wp44Llx4wYWLVqEgoICt08vaTQaRERE2KcjIyPR0NDgcvnc3FysXLnSPm00GpGamorMzEye0vKCLMsoLi7G5MmT2f2rMmwb9WLbqBfbRr1sbePu0BV3BDzw/OY3v0FGRgYefPBBt9dJSEhAVVWVfbqurg46nc7l8hEREQ4ByUar1bb7R93U1BRyXZtarRbh4eE+3yb/cVAnto16sW3Ui22jXr5sl4AHnh07dqCqqgpxcXEAgIaGBuzatQuffvop/vSnPzldJyMjA2+99ZZ9+vTp0+jbt6/PahJC4Ntvv8W1a9d8tk01iYuLQ+/evXkPIiIi6rICHniOHDkCi8Vin161ahXGjBmDBQsWwGg0Qq/Xt0l006dPx9KlS1FSUoK7774beXl5yMrK8llNtrCTlJSEqKiokAkGQgg0NDTgu+++AwAkJycrXBEREZEyAh54UlJSHKa7deuGxMREJCYmYsCAAcjPz0d2drbDMomJidi0aROysrIQGxuL6OhoFBYW+qSepqYme9jp0aOHT7apJnq9HgDw3XffISkpyeent4iIiIKB4o+WKCoqsv9eUVHhcrklS5YgMzMT5eXlGD9+vM8GH9vG7ITy1Vu29ybLMgMPERF1SYoHHk+kp6cjPT3dL9sOldNYzoTyeyMiInIHn5ZOREREIY+BJ4idOXMGGRkZiI+Px+rVqyGEULokIiIiVWLgCVJmsxnTpk3DqFGjcPLkSZSVlTmMhyIiIqKbGHiC1J49e1BbW4vNmzfjlltuwfr163125RoREZG7hBBokBvQIDeo+kxDUA1aDhQhBExyU8D3q9eGuz3AuLS0FGPGjLFfgTV8+HCUlZX5szwiIqI2TBYTRu8YDQD4ZM4niNKq86pnBh4nTHIThrywL+D7LXsxC1E695rEaDRi4MCB9mlJkhAeHg6DwYD4+Hh/lUhERBSUeEorSLV+oCrQ8UNViYiIuir28Dih14aj7EXfPbrCk/26KyEhAWfOnHGY19FDVYmIiLoqBh4nJEly+9SSUjIyMvDaa6/ZpysqKmA2m5GQkKBgVUREROrEU1pB6p577kFtbS3eeOMNAMDGjRsxadIkPjqCiIjICXV3Y5BLGo0GW7duxZw5c7B69Wo0NTXh8OHDSpdFRESkSgw8QSw7OxtffvklTp48ibFjx6Jnz55Kl0RERKRKDDxBrm/fvujbt6/SZRAREakax/AQERFRyGPgISIiopDHwENEREQhj4GHiIiIQh4DDxEREYU8Bh4iIiIKeQw8REREFPIYeIJcTU0NBg4ciIqKCqVLISIiUi0GniBWXV2NqVOnMuwQERF1gIEniM2ePRuzZ89WugwiIiLV46MlnBECkBsCv19tFCBJbi++detWpKWl4ZlnnvFfTURERCGAgccZuQFY3yfw+33+CqCLdnvxtLQ0PxZDREQUOnhKi4iIiEIee3ic0UY197YosV8iIiLyOQYeZyTJo1NLREREpG48pUVEREQhj4GHiIiIQp5ip7Rqampw7tw5/OAHP0BiYqJSZYQEIYTSJRAREamaIj08O3fuRHp6OpYuXYp+/fph586dHa4zbdo0SJJk/5k0aVIAKiUiIqJQEPAenmvXrmHZsmU4cuQIhg0bhjfffBPPPfdch3cMPnXqFD7//HOkpKQAALRabSDKJSIiohAQ8MBTV1eH/Px8DBs2DAAwYsQIGAyGdtf55ptvIISwr0NERETkiYAHntTUVMydOxcAIMsy8vLyMGPGjHbXOXHiBJqampCSkgKDwYBp06ahoKAA8fHxTpc3m80wm832aaPRaN+fLMsOy8qyDCEErFYrrFarN29NtaxWK4QQkGUZ4eHhnd6O7di1PoakPLaNerFt1Itt4xsWi8XhdxneH09/tI0kFBrxWlpaiokTJ0Kn0+Hs2bOIi4tzuezGjRtx+PBh5OXlISwsDDk5ORg5ciQKCgqcLv/rX/8a69atazN/x44diIpyvLmfRqNB7969kZqaCp1O59V7UqvGxkZcvnwZ3377rcMfJhERkbcaRSNerH0RAPBC7AvQSb77Lm1oaMCcOXNQW1uLmJgYr7alWOARQuD06dNYtWoVYmJi8M4777i97uHDhzFz5kxUVVU5fd1ZD09qaiqqq6vbHLAbN27g8uXLGDBgACIjIzv3ZlTuxo0bqKioQGpqqlfvUZZlFBcXY/LkyRxDpTJsG/Vi26gX28Y3TBYTxu0aBwA4Ouso9Bq919u0tc3o0aORnJzsk8Cj2GXpkiRh5MiRKCoqQv/+/WEwGFyeomotLi4O1dXVMJvNiIiIaPN6RESE0/larbbNH3VTUxMkSUJYWBjCwkLztkRhYWGQJMnp++8MX22HfI9to15sG/Vi23in5SksjUbj02Ppy20F/Bv+4MGDWL16tX1ao2nOXO2FjZkzZ+L48eP26RMnTqB3795OQw0RERFRawEPPIMGDcIrr7yCrVu34vLly/jFL36BzMxMxMbGwmg0Oh2gNHz4cKxYsQKffPIJ3n//faxduxZLliwJdOmqs3v3bqSlpUGj0WD06NEoLy9XuiQiIiJVCnjg6dOnD95++23k5+dj6NChaGhowJtvvgmgOdh88MEHbdbJzc3FkCFDMHnyZDzzzDNYvHgxcnNzA126qpw/fx45OTnYuHEjKisr0b9/fyxcuFDpsoiIiFRJkTE8WVlZKCsrazO/oqLC6fJarRaFhYUoLCz0c2XBo7y8HOvXr8esWbMAAIsXL8aUKVMUroqIiEidFBu0rGZCCJgspoDvV6/RQ5Ikt5adOnWqw/S5c+eQnp7uj7KIiIiCHgOPEyaLCaN3jA74fj+Z8wmitFEdL9hKY2Mj8vLysGLFCj9URUREFPxC8zrsLmbNmjXo1q0bnnrqKaVLISIiUiX28Dih1+jxyZxPFNmvp4qLi7FlyxYcP36c95EgIiJygYHHCUmSOnVqKdAuXLiAuXPnoqCgAEOGDFG6HCIiItVi4AlSJpMJU6dORXZ2Nh566CHU19cDAKKjo90e+ExERNRVcAxPkNq3bx/Ky8vx6quvonv37vafS5cuKV0aERGR6rCHJ0hlZ2dDoee+EhERBR328BAREVHIY+AhIiKikMfAQ0RERCGPgYeIiIhCHgMPERERhTwGHiIiIgp5DDxEREQU8hh4glxNTQ3+8Y9/oLq6WulSiIiIVIuBJ4jt3LkT6enpWLp0Kfr164edO3cqXRIREZEqMfAEqWvXrmHZsmU4cuQIPvvsM7zyyit47rnnlC6LiIhIlRh4glRdXR3y8/MxbNgwAMCIESNgMBgUroqIiEid+CwtJ4QQECZTwPcr6fVuP+k8NTUVc+fOBQDIsoy8vDzMmDHDn+UREREFLQYeJ4TJhHM/HBXw/d72z1OQoqI8Wqe0tBQTJ06ETqfD2bNn/VQZERFRcOMprSA3fPhwHDhwAEOHDkVOTo7S5RAREakSe3ickPR63PbPU4rs1+N1JAkjR45EUVER+vfvD4PBgPj4eD9UR0REFLwYeJyQJMnjU0uBdvDgQezZswe/+93vAAAaTXNThoWx046IiKg1Bp4gNWjQIGRnZ+PWW2/F/fffjzVr1iAzMxOxsbFKl0ZERKQ67A4IUn369MHbb7+N/Px8DB06FA0NDXjzzTeVLouIiEiV2MMTxLKyslBWVqZ0GURERKrHHh4iIiIKeQw8REREFPIYeIiIiCjkMfAQERFRyGPgISIiopCnWOCpqanBP/7xD1RXVytVAhEREXURigSenTt3Ij09HUuXLkW/fv2wc+fODtc5fPgwBg8ejMTERGzevDkAVRIREVGoCHjguXbtGpYtW4YjR47gs88+wyuvvILnnnuu3XWqqqowffp0PPbYYzh27Bi2b9+OkpKSAFVMREREwS7ggaeurg75+fkYNmwYAGDEiBEwGAztrrN9+3YkJydj7dq1uPXWW/HCCy+gsLAwEOUGjSlTpqCoqEjpMoiIiFQp4HdaTk1Nxdy5cwEAsiwjLy8PM2bMaHed0tJS3HvvvZAkCQBw5513Ijc31+XyZrMZZrPZPm00Gu37k2XZYVlZliGEgNVqhdVq7dR7Utr27duxb98+zJo1y+l7sFqtEEJAlmWEh4d3ej+2Y9f6GJLy2DbqxbZRL7aNb1gsFoffZXh/PP3RNoo9WqK0tBQTJ06ETqfD2bNn213WaDRiyJAh9umYmBhUVla6XH7Dhg1Yt25dm/n79+9HVKunoGs0GvTu3Rv19fVobGz08F0oz2AwYNWqVbj11ltx48YNe7hrqbGxESaTCR999JHDH2ZnFRcXe70N8g+2jXqxbdSLbeOdRnHzu3Pfvn3QSTqfbduXw1ckIYTw2dY8IITA6dOnsWrVKsTExOCdd95xueyjjz6KcePGYfny5QCApqYmREZGukx+znp4UlNTUV1djZiYGIdlb9y4gcuXL2PAgAGIjIy012ZpDHxvj0YXZu/FctcTTzyByMhImEwmjB8/HgsWLGizzI0bN1BRUYHU1FT7e+wMWZZRXFyMyZMnQ6vVdno75HtsG/Vi26gX28Y3TBYTxu0aBwA4Ouso9Bq919u0tc3o0aORnJyM2traNt/fnlKsh0eSJIwcORJFRUXo378/DAYD4uPjnS6bkJCAqqoq+3RdXR10OtcJMiIiAhEREW3ma7XaNn/UTU1NkCQJYWFhCAtrHtIkm5vw2oojnXlbXnnq9+OhjXB/WFVJSQkOHjyIM2fOYPny5Q7voaWwsOYg5ez9d4avtkO+x7ZRL7aNerFtvNPyFJZGo/HpsfTltgI+aPngwYNYvXq1fVqjac5czr6obTIyMnD8+HH79OnTp9G3b1//FRkEbty4gUWLFqGgoMDr1EtERBTqAt7DM2jQIGRnZ+PWW2/F/fffjzVr1iAzMxOxsbEwGo3Q6/VtEt306dOxdOlSlJSU4O6770ZeXh6ysrL8VqNGF4anfj/eb9tvb7/u+s1vfoOMjAw8+OCDfqyIiIgoNAQ88PTp0wdvv/02VqxYgVWrViErKwtvvvkmAGD48OHIz89Hdna2wzqJiYnYtGkTsrKyEBsbi+joaL9eli5JErQRnb+aKRB27NiBqqoqxMXFAQAaGhqwa9cufPrpp/jTn/6kbHFEREQqo8gYnqysLJSVlbWZX1FR4XKdJUuWIDMzE+Xl5Rg/fnyXP41z5MgRhyuuVq1ahTFjxjgdtExERNTVKTZouTPS09ORnp6udBmqkJKS4jDdrVs3JCYmIjExUaGKiIiI1CuoAg+5xrssExERuabY09KJiIiIAoWBh4iIiEIeAw8RERGFPAae/1DoCRsBEcrvjYiIyB1dPvDYbnLY0NCgcCX+Y3tvvHU6ERF1VV3+Kq3w8HDExcXhu+++AwBERUV5/ABPtRJCoKGhAd999x3i4uIQHq7umykSERH5S5cPPADQu3dvALCHnlATFxdnf49ERERdEQMPmh8lkZycjKSkJMiy3PEKQUSr1bJnh4iIujwGnhbCw8MZDoiIiEJQlx+0TERERKGPgYeIiIhCHgMPERERhTwGHiIiIgp5DDxEREQU8hh4iIiIKOQx8BAREVHIY+AhIiKikMfAQ0RERCGPgYeIiIhCHgMPERERhTwGHiIiIgp5DDxEREQU8hh4iIiIKOQx8BAREVHIY+AhIiKikMfAQ0RERCGPgYeIiIhCHgMPERERhTyNOwsNHDgQkiR1uNyFCxe8LoiIiIjI19wKPEVFRfbf9+7di127dmH16tVIS0vDpUuXkJeXhwceeMBfNRIRERF5xa1TWuPHj7f/vPnmm3j33Xfx9NNPIzMzE08++ST+9re/4e9//7vbO929ezfS0tKg0WgwevRolJeXd7jOtGnTIEmS/WfSpElu74+IiIi6No/H8EiShIsXLzrM+/rrryHLslvrnz9/Hjk5Odi4cSMqKyvRv39/LFy4sMP1Tp06hc8//xwGgwEGgwG7d+/2tHQiIiLqotw6pdXSr371KzzyyCPIzMxEamoqrly5gn379mHz5s1urV9eXo7169dj1qxZAIDFixdjypQp7a7zzTffQAiBYcOGeVouERERkec9PAsXLsTx48cxatQoNDU14fbbb8eRI0ewaNEit9afOnUqnn76afv0uXPnkJ6e3u46J06cQFNTE1JSUhAdHY3Zs2fDYDB4WjoRERF1UR738ADAiBEjMGLECK933tjYiLy8PKxYsaLd5c6dO4dRo0YhLy8PYWFhyMnJwfPPP4+CggKny5vNZpjNZvu00WgEAMiy7PapN2rLdux4DNWHbaNebBv1Ytv4hsVicfhdhvfH0x9tIwkhhCcrvP/++xg7diwSEhK83vnPf/5z7N+/HydOnIBWq3V7vcOHD2PmzJmoqqpy+vqvf/1rrFu3rs38HTt2ICoqqtP1EhERkaNG0YgXa18EALwQ+wJ0ks5n225oaMCcOXNQW1uLmJgYr7blceAZMGAACgsLcd9993m14+LiYjz88MM4fvw4hgwZ4tG6paWluOOOO3Djxg1ERES0ed1ZD09qaiqqq6u9PmBdmSzLKC4uxuTJkz0KqOR/bBv1YtuoF9vGN0wWE8btGgcAODrrKPQavdfbtLXN6NGjkZyc7JPA4/EpreXLl+P3v/89JkyYgPDw8E7t9MKFC5g7dy4KCgrcCjszZ87EqlWrMGbMGADNY3p69+7tNOwAQEREhNPXtFot/6h9gMdRvdg26sW2US+2jXdansLSaDQ+PZa+3JbHgadHjx6orq7GD3/4Qzz99NOIjo62vzZv3rwO1zeZTJg6dSqys7Px0EMPob6+HgAQHR2Nuro66PX6Nm9w+PDhWLFiBfLz81FVVYW1a9diyZIlnpZOREREXZTHgaeoqMjeg7Jr1y77fEmS3Ao8+/btQ3l5OcrLy/Hqq6/a51+8eBETJkxAfn4+srOzHdbJzc3FpUuXMHnyZCQlJWHx4sXIzc31tHQiIiLqojwOPCUlJV7tMDs7G66GDVVUVDidr9VqUVhYiMLCQq/2TURERF2Tz56W3tjY6KtNEREREfmUxz08V69exUsvvYQvvvgCTU1NAAAhBM6ePYurV6/6vEAiIiIib3ncw/P444/j3//+N/R6PfR6PR555BGcO3cOixcv9kd9RERERF7zOPB8+umn+OMf/4hVq1ahtrYWixcvRmFhIfbu3euP+oiIiIi85nHg6dOnDz788ENkZGTgX//6F0wmE4YNG4bPP//cH/URERERec3jMTwbNmzA3LlzkZmZiezsbNx+++0AgHHjxvm8OCIiIiJf8DjwzJgxA1euXEFMTAy2bt2KHTt2oL6+3q178BAREREpoVNPS4+PjwcAhIeHY/78+T4tiIiIiMjXPB7D88QTT2DPnj0O8+rq6tCvXz+fFUVERETkSx4HnqKiIsyfPx/PP/88rFYrAMBqteKbb77xeXFEREREvtCpOy0fOXIEx44dw8SJE/Htt98CaH6WFhEREZEaeRx4JElCcnIyDhw4gHHjxmHkyJEoLi72R21EREREPuHxoGXbgz/DwsKwfv163HXXXRy4TERERKrmceApLy9H9+7d7dMPPPAA/vnPf+LgwYM+LYyIiIjIVzwOPLfddlubeampqXjsscd8UhARERGRr/Fp6URERBTy+LR0IiIiCnl8WjoRERGFPD4tnYiIiEIen5ZOREREIa/TT0vv3r07tm7diu3bt+P69et8WjoRERGplldPSweABQsW+KoWIiIiIr/weAzP3/72NwwYMADh4eFtfoiIiIjUyOMensWLF2PBggVYuHAhdDqdP2oiIiIi8imPA48kSXjqqadwyy23+KMeIiIiIp/z+JTWSy+9hGXLlqG6utof9RARERH5nFs9PBMnToQkSfbpM2fOoH///hg8eDBiYmLs8/kAUSIiIlIjtwIPr8QiIiKiYOZW4Jk/f76/6yAiIiLyG4/H8BAREREFGwYeIiIiCnkMPERERBTyGHiIiIgo5CkSeHbv3o20tDRoNBqMHj0a5eXlHa5z+PBhDB48GImJidi8eXMAqiQiIqKOCCGc/q42AQ8858+fR05ODjZu3IjKykr0798fCxcubHedqqoqTJ8+HY899hiOHTuG7du3o6SkJEAVExERkSs3LFanv6uNV4GnsbERQghYre6/wfLycqxfvx6zZs1Cr169sHjxYpw8ebLddbZv347k5GSsXbsWt956K1544QUUFhZ6UzoRERF1IR4/S6uurg7PPvssdu/ejZqaGvzzn//ElClT8N5772HUqFEdrj916lSH6XPnziE9Pb3ddUpLS3Hvvffa7/Z85513Ijc31+XyZrMZZrPZPm00GgEAsixDluUOayTnbMeOx1B92DbqxbZRL7aNb7Q8fr76nvVH23gceHJyctDQ0IA33ngDs2bNQmxsLJYtW4alS5fi+PHjHm2rsbEReXl5WLFiRbvLGY1GDBkyxD4dExODyspKl8tv2LAB69atazN///79iIqK8qhGaqu4uFjpEsgFto16sW3Ui23jnTpLo/33Dz88gO4anc+27cvhK5LwcIRRXFwczpw5g5SUFMTHx6O0tBRhYWEYPHgw6urqPNr5z3/+c+zfvx8nTpyAVqt1udyj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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 风险函数\n",
    "sampleHazard = surv_func.predict_cumulative_hazard_function(samplePatents, return_array=True)\n",
    "\n",
    "for i, s in enumerate(sampleHazard):\n",
    "    plt.step(surv_func.event_times_, s, where=\"post\", label=str(i))\n",
    "plt.ylabel(\"Cumulative hazard\")\n",
    "plt.xlabel(\"Time in months\")\n",
    "plt.legend()\n",
    "plt.grid(True)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)]"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "d207591e6ff77a7c5fb4cef0dd9fd3703274637a9d0902d2045beb3a65bf572a"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
